package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcHuaLongRoster;
import com.csun.cmny.provider.model.dto.hualong.HuaLongRosterDto;
import com.csun.cmny.provider.model.dto.hualong.HuaLongRosterQueryDto;
import com.csun.cmny.provider.model.vo.hualong.HuaLongRosterVo;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2020-10-29 11:53
 * @Description:
 */
public interface OmcHuaLongRosterService extends IService<OmcHuaLongRoster> {

    /**
     * 主管排班
     *
     * @param huaLongRosterDto  the hua long roster dto
     * @param loginAuthDto      the login auth dto
     *
     * @return  the int.
     */
    Integer save(HuaLongRosterDto huaLongRosterDto, LoginAuthDto loginAuthDto);

    /**
     * 主管排班列表
     *
     * @param huaLongRosterQueryDto the hua long roster query dto
     *
     * @return  the list.
     */
    List<HuaLongRosterVo> queryListWithPage(HuaLongRosterQueryDto huaLongRosterQueryDto);

    /**
     * 查看详情
     *
     * @param id    the id
     *
     * @return  the hua long roster vo
     */
    HuaLongRosterVo queryDetailById(Long id);

    /**
     * 根据Id删除排班
     *
     * @param id
     *
     * @return
     */
    Integer deleteById(Long id);

    /**
     * 主管调班
     *
     * @param huaLongRosterDto  the hua long roster dto
     * @param loginAuthDto      the login auth dto
     *
     * @return  the int.
     */
    Integer change(HuaLongRosterDto huaLongRosterDto, LoginAuthDto loginAuthDto);
}
